package com.woniuxy.admin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.woniuxy.admin.dto.PawnWarehouseDto;
import com.woniuxy.admin.entity.PawnWarehouse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.admin.form.InsertPawnWarehouseForm;
import com.woniuxy.admin.form.UpdatePawnWarehouseForm;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author ...
 * @since 2024年05月22日
 */
public interface PawnWarehouseService extends IService<PawnWarehouse> {

    /**
     * 分页查询所有仓库
     * @param pageNum 分页页数
     * @param pageSize 每页个数
     * @param condition 条件查询
     * @return
     */
    Page<PawnWarehouseDto> loadAllPawnWarehourse(Integer pageNum, Integer pageSize,String condition);

    /**
     * 新增仓库
     * @param form 新增仓库参数
     */
    void insertPawnWarehouse(InsertPawnWarehouseForm form);

    /**
     * 更新仓库信息
     * @param form 更新仓库参数
     */
    void updatePawnWarehouse(UpdatePawnWarehouseForm form);

    /**
     * 更新仓库状态
     * @param warehouseId 仓库id
     * @param state 状态码
     */
    void updatePawnWarehouseState(Integer warehouseId, Integer state);

    /**
     * 分页查询未绑定仓库
     * @param pageNum 分页页数
     * @param pageSize 每页个数
     * @param shopId 门店ID
     * @return
     */
    Page<PawnWarehouse> findNoBingdingWhByShopId(Integer pageNum, Integer pageSize, Integer shopId);
}
